package com.youdianda.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.youdianda.dto.EditArticleDTO;
import com.youdianda.dto.MyArticleDTO;
import com.youdianda.dto.UserDataListDTO;
import com.youdianda.dto.YddArticleListDTO;
import com.youdianda.entity.YddArticle;
import com.youdianda.result.Result;
import com.youdianda.vo.PageResult;
import com.youdianda.vo.UserDataListVO;
import com.youdianda.vo.YddArticleListVO;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author sdy
 * @since 2023-05-15
 */
public interface IYddArticleService extends IService<YddArticle> {
    /**
     * 文章详情
     * @param id
     * @return
     */
    public Result details(Integer id);

    /**
     * 文章列表-分页
     */
    public Result getYddTagIPage(YddArticleListDTO yddArticleDto);

    /**
     * 文章删除
     * @param id
     * @return
     */
    public Result deleteById(Integer id);

    /**
     * 文章修改
     * @param yddArticle
     * @return
     */
    public Result upDate(YddArticle yddArticle);

    /**
     * 文章列表-分页
     * @param articleListDTO
     * @return
     */
    public Result<YddArticleListVO> articleList(YddArticleListDTO articleListDTO);




    /**我的文章a
     * @return
     */
    public Result<PageResult> myArticle(MyArticleDTO myArticleDTO);

    /**
     *  我的收藏/点赞文章
     * @param userDataListDTO
     * @return
     */
    public Result<UserDataListVO> userDataList(UserDataListDTO userDataListDTO);


    /**
     * 修改文章
     * @return
     */
    public Result editArticle(EditArticleDTO articleDTO);


    /**
     * 文章添加
     * @param yddArticle
     * @return
     */
    public Result add(YddArticle yddArticle);


}
